Micron Document
πŸŽ–οΈGitΠ―Ρ€Π°πŸŽ–οΈ


Displaying Raw β€’ View rendered β€’ Download

docs/es-rES/user/translate.md bd2863243bab6eb213401d949839a2bc74dde7e2 (bd286324) Text, 4.59 KB

---
title: Translate the App
parent: User Guide
nav_order: 17
last_updated: 2026-06-25
description: How the app and its documentation are translated via Crowdin, and guidelines for contributing translations.
aliases:
Tff7b72- translate
Tff7b72- crowdin
Tc9d1d9 - localization
Tc9d1d9---

Tc9d1d9# Translate the App

Contributing translations helps make Meshtastic accessible to a wider audience. The app uses [Tff7b72Crowdin](Te6edf3https://crowdin.com/) to manage community translations for both the user interface and in-app documentation.

---

Tc9d1d9## What Gets Translated

| Resource | Source Location | Notas |
| ----------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| UI strings | Ta5d6ff`core/resources/src/commonMain/composeResources/values/strings.xml` | Buttons, labels, messages, and all user-visible text |
| User Guide pages | Ta5d6ff`docs/en/user/*.md` | In-app documentation shown in Help & Documentation |
| Fastlane metadata | Ta5d6ff`fastlane/metadata/android/en-US/` | App Store listing title, description, and changelogs |

Tff7b72> ⚠️ **Note:** Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.

---

Tc9d1d9## How to Contribute

Tff7b721. **Visit the Crowdin project.** Open the [Tff7b72Meshtastic Android Crowdin project](Te6edf3https://crowdin.com/project/meshtastic-android) and sign in or create a free account.
Tff7b722. **Choose your language.** Select an existing language or request a new one by opening a [Tff7b72GitHub issue](Te6edf3https://github.com/meshtastic/Meshtastic-Android/issues/new).
Tff7b723. **Translate strings.** Crowdin shows the English source on the left and your translation on the right. Translate each string and save.
Tff7b724. **Review context.** Many strings include screenshots or context comments β€” check these to understand where the text appears in the app.
Tff7b725. **Submit.** Approved translations are automatically merged into the next release.

Tff7b72> πŸ’‘ **Tip:** Keep translations short. UI strings often appear in buttons, chips, or narrow columns. If a translation is significantly longer than the English original, consider abbreviating where the meaning stays clear.

---

Tc9d1d9## Adding a New Language

If your language is not yet listed on Crowdin:

Tff7b721. Open an issue on [Tff7b72GitHub](Te6edf3https://github.com/meshtastic/Meshtastic-Android/issues/new) requesting the new locale.
Tff7b722. A maintainer will add the language to Crowdin and configure Ta5d6ff`crowdin.yml`.
Tff7b723. Once added, you can begin translating immediately.

---

Tc9d1d9## How Translations Are Organized

The Android app uses **Compose Multiplatform resources** for all user-visible strings:

Ta5d6ff```
core/resources/src/commonMain/composeResources/
β”œβ”€β”€ values/ ← English (default)
β”‚ └── strings.xml
β”œβ”€β”€ values-de/ ← German
β”‚ └── strings.xml
β”œβ”€β”€ values-fr/ ← French
β”‚ └── strings.xml
└── ...
```

In-app documentation follows a similar pattern under Ta5d6ff`docs/`:

Ta5d6ff```
docs/
β”œβ”€β”€ en/user/ ← English source (default)
β”‚ β”œβ”€β”€ onboarding.md
β”‚ └── ...
β”œβ”€β”€ fr-rFR/user/ ← French (France)
β”‚ β”œβ”€β”€ onboarding.md
β”‚ └── ...
β”œβ”€β”€ de-rDE/user/ ← German (Germany)
β”‚ └── ...
└── ...
```

Locale folders use the Android resource convention Ta5d6ff`{lang}-r{REGION}` (e.g. Ta5d6ff`fr-rFR`, Ta5d6ff`de-rDE`, Ta5d6ff`ja-rJP`), matching the Ta5d6ff`values-*` directories used for app strings.

The app automatically selects the correct locale based on your device's **Language & Region** settings.

---

Tc9d1d9## Translation Guidelines

Tff7b72- **Do not translate** technical terms like "LoRa", "MQTT", "BLE", "TAK", "SNR", or "RSSI" β€” these are universal.
Tff7b72- **Keep placeholders intact.** Strings like Ta5d6ff`%1$s` or Ta5d6ff`%d` are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
Tff7b72- **Match tone.** The app uses a friendly, direct voice. Avoid overly formal language.
Tff7b72- **Test if possible.** Switch your device language and open the app to see how translations look in context.

---

Tc9d1d9## Questions?

If you have questions about a specific string's context or need help getting started, open a discussion on the [Tff7b72Meshtastic GitHub Discussions](Te6edf3https://github.com/orgs/meshtastic/discussions) page.

Thank you for helping expand the reach of Meshtastic!

Served by rngit 1.5.2 - Generated in 0.14s